2.3 Ubuntu20.04下使用UUU烧写系统到TF卡
2.3.1 开发板连接
将开发板拨码开关设置为USB烧写模式(对应码位1100)。
开发板USB_TTL接口通过Type-C线接到电脑USB端口,用于烧写时输出打印信息。如果开启了虚拟机,请将USB串口切换到Windows主机端。此项仅便于烧写错误时排查信息。
开发板USB_OTG接口通过Type-C线接到Ubuntu虚拟机的USB3.0端口,请将USB设备切换并固定到Ubuntu虚拟机端,用于烧写系统。
图 2.3.1 设置虚拟机USB接口兼容USB3.0
在烧写过程,开发板会重启,此时电脑可能会自动将USB连接到Windows中或者询问USB接入的设备,在这段时期内,UUU可能会提示烧写失败。因此建议在烧写前将虚拟机USB选项设置默认接到Ubuntu虚拟机中,这部分功能由VMware提供,如果一直烧写失败,可以尝试2.5小节的方法关闭虚拟机,在Windows下烧写。
图 2.3.2 设置USB默认连接到VMware
准备一张容量大于8GB的高速TF卡并格式化为FAT32格式,将TF卡接入到开发板的TF卡槽中,开发板拨码开关设置为USB烧写模式1100,将开发板上电,开发板连接状态如下图所示:
图 2.3.3 硬件连接
2.3.2 环境准备
本小节中,笔者在Windows电脑上使用VMware虚拟机中的Ubuntu20.04系统进行UUU烧写,环境版本如下,仅供参考。
环境/软件/接口 | 版本 |
---|---|
电脑架构 | X86 |
电脑主机系统 | Windows10 |
VMware软件 | 15.5.0 |
Linux发行版 | Ubuntu20.04 |
USB接口 | USB3.0 |
在Ubuntu20.04中需要安装的软件包:
sudo apt-get install libusb-1.0.0-dev libzip-dev libbz2-dev libtinyxml2-dev
2.3.3 烧写固件
开发板固件包位于:开发板光盘A盘-基础资料\08、系统镜像
将开发板固件包拷贝到Ubuntu中,并查看固件包目录,如下图所示:
图 2.3.4 固件包目录
我们将在Ubuntu20.04中使用uuu工具来进行开发板固件烧写,在终端执行下面指令进行固件烧写。可以将uuu程序拷贝到Ubuntu的/usr/bin目录,更方便使用。使用chmod指令修改烧写脚本alientek-imx93-sd.uuu的权限后,运行烧写脚本。
sudo cp uuu /usr/bin
sudo chmod +x alientek-imx93-sd.uuu
sudo uuu alientek-imx93-sd.uuu
图 2.3.5 烧写固件
在烧写完fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.zst.u-boot后,开发板会重启一次系统,此过程中注意要保持开发板USB是一直连接在虚拟机上的,否则烧写会报错打不开USB设备并中断,需要重新烧写系统,重新烧写前需要重启或复位一次开发板。
使用uuu程序运行alientek-imx93-sd.uuu烧写脚本,将固件烧写到开发板的TF卡中。uuu烧写速度较快,但烧写的速度和TF卡质量挂钩(相比EMMC,TF卡的写入速度会慢些),最终烧写完成后命令终端如下图所示:
图 2.3.6 烧写完成
烧写完成后,将拨码开关设置为SD启动模式(码位1000),即可启动开发板进入系统。